package api;

import game.Move;

import java.util.Collection;

public interface PlayerController {
	
	/**
	 * Returns true if the PlayerController implementation
	 * controls the player at the specified index.
	 * @param index the index of the player in question
	 * @return true if the implementation is responsible for the player, false otherwise
	 */
	boolean controls(int playerIndex);
	
	void notifyWin(int playerIndex, int nodeIndex);
	
	void notifyNewRound(int round);
	
	void notifyMove(int playerIndex, int from, Move m, boolean obfuscate);
	
	void getMove(int playerIndex, Collection<Move> options);
	
}
